package br.facet.bean;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

import br.facet.dao.LojaDAO;
import br.facet.dao.ProdutoDAO;
import br.facet.dao.ReservaDAO;
import br.facet.pojo.Reserva;
import br.facet.utils.WebUtils;

@ManagedBean (name = "ReservaBean")
@RequestScoped
public class ReservaBean {

	Reserva reservaSelecionada = new Reserva();
	ReservaDAO reservaDao = new ReservaDAO();
	LojaDAO lojaDao = new LojaDAO();
	ProdutoDAO proDao = new ProdutoDAO();

	private Integer idLojaOrigem = (Integer) WebUtils.getValor("loja-selecionada");
	private Integer idLojaDestino;
	private Integer idProduto;
	private Integer qtdade;

	public String incluirReserva() throws Exception {
		Reserva reserva = new Reserva();
		reserva.setLojaDestino(lojaDao.load(this.idLojaDestino));
		reserva.setLojaOrigem(lojaDao.load(this.idLojaOrigem));
		reserva.setProduto(proDao.load(this.idProduto));
		reserva.setQuantidade(this.qtdade);
		reservaDao.salvar(reserva);
		return "sucesso";
	}
	
	public String alterarReserva() throws Exception {
		Reserva reserva = new Reserva();
		reserva.setId(reservaSelecionada.getId());
		reserva.setLojaDestino(reservaSelecionada.getLojaDestino());
		reserva.setLojaOrigem(reservaSelecionada.getLojaOrigem());
		reserva.setProduto(reservaSelecionada.getProduto());
		reserva.setQuantidade(reservaSelecionada.getQuantidade());
		reservaDao.salvar(reserva);
		return "sucesso";
	}
	
	public String voltar(){
		return "index";
	}
	
	public void excluirReserva() throws Exception {
		reservaDao.excluir(reservaSelecionada);  
    }

	public Integer getIdLojaOrigem() {
		return idLojaOrigem;
	}
	
	public void setIdLojaOrigem(Integer idLojaOrigem) {
		this.idLojaOrigem = idLojaOrigem;
	}

	public Integer getIdLojaDestino() {
		return idLojaDestino;
	}

	public void setIdLojaDestino(Integer idLojaDestino) {
		this.idLojaDestino = idLojaDestino;
	}

	public List <Reserva> getlistarReserva(){
		return reservaDao.listarReserva();
	}

	public Integer getIdProduto() {
		return idProduto;
	}

	public void setIdProduto(Integer idProduto) {
		this.idProduto = idProduto;
	}

	public Integer getQtdade() {
		return qtdade;
	}

	public void setQtdade(Integer qtdade) {
		this.qtdade = qtdade;
	}

	public Reserva getReservaSelecionada() {
		return reservaSelecionada;
	}

	public void setReservaSelecionada(Reserva reservaSelecionada) {
		this.reservaSelecionada = reservaSelecionada;
	}	
	
}